package com.glacier.excel.annotation;

import com.glacier.excel.converters.AutoConverter;
import com.glacier.excel.converters.Converter;

import java.lang.annotation.*;

/**
 * date 2021-06-10 16:27
 *
 * @author glacier
 * @version 1.0
 */
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface ExcelProperty {
    
    /**
     * 表头
     * @return
     */
    String[] value() default {""};
    
    /**
     * 列序号
     *
     * @return
     */
    int index() default -1;
    
    /**
     * 列排序
     *
     * @return
     */
    int order() default Integer.MAX_VALUE;
    
    /**
     * 转换器
     *
     * @return
     */
    Class<? extends Converter> converter() default AutoConverter.class;
    
    /**
     * 列校验
     *
     * @return
     */
    String[] validate() default {};
    
    /**
     * 列宽度 0表示自动
     */
    int width() default 0;
}
